package request

type GetId struct {
	Id uint64 `json:"id" form:"id"  binding:"required"`
}
type RealUserReq struct {
	RealName string `json:"real_name" form:"real_name"  binding:"required"`
	IdCard   string `json:"id_card" form:"id_card"  binding:"required"`
}

type SetUserInterestsReq struct {
	InterestIds []uint64 `json:"interest_ids" form:"interest_ids" binding:"required"` // 最多10个
}

type NewGame struct {
}
type Guess struct {
	GameId int32 `json:"gameId" form:"gameId"`
	Number int32 `json:"number" form:"number"`
}

// LBS位置相关
type UpdateLocationReq struct {
	Latitude  float64 `json:"latitude" form:"latitude" binding:"required"`   // 纬度（-90 到 90）
	Longitude float64 `json:"longitude" form:"longitude" binding:"required"` // 经度（-180 到 180）
}

type GetNearbyUsersReq struct {
	Radius float64 `json:"radius" form:"radius"` // 搜索半径（千米），默认10km，最大50km
	Limit  int32   `json:"limit" form:"limit"`   // 限制数量，默认20
}

// ==================== 灵魂匹配相关请求结构 ====================

// GetSoulQuestionsReq 获取灵魂测试题目请求
type GetSoulQuestionsReq struct {
	CategoryId uint64 `json:"category_id" form:"category_id"` // 分类ID，0表示获取所有分类的题目
	Limit      int32  `json:"limit" form:"limit"`             // 限制数量，默认20
}

// SubmitSoulAnswerReq 提交灵魂测试答案请求
type SubmitSoulAnswerReq struct {
	QuestionId    uint64  `json:"question_id" form:"question_id" binding:"required"`                 // 题目ID
	AnswerContent string  `json:"answer_content" form:"answer_content" binding:"required,max=500"`   // 答案内容(JSON)，最长500字符
	AnswerScore   float64 `json:"answer_score" form:"answer_score" binding:"required,min=0,max=100"` // 答案分数：0-100
}

// CompleteSoulTestReq 完成灵魂测试请求
type CompleteSoulTestReq struct {
	TestVersion  string `json:"test_version" form:"test_version" binding:"required,max=50"`           // 测试版本，最长50字符
	TestDuration int32  `json:"test_duration" form:"test_duration" binding:"required,min=1,max=3600"` // 测试时长(秒)：1-3600秒
}

// GetSoulMatchCandidatesReq 获取灵魂匹配候选用户请求
type GetSoulMatchCandidatesReq struct {
	Limit int32 `json:"limit" form:"limit"` // 限制数量，默认10
}

// GetSoulMatchesReq 获取灵魂匹配列表请求
type GetSoulMatchesReq struct {
	Limit int32 `json:"limit" form:"limit"` // 限制数量，默认20
}
